package com.example.permission.mapper;

import com.example.permission.entity.User;
import org.apache.ibatis.annotations.Param;
import java.util.List;

public interface UserMapper {

    // 任务一：查询特定用户及其拥有的所有角色
    User selectUserWithRolesByUsername(@Param("username") String username);

    // 任务三：综合查询 - 根据条件搜索用户，并连带其角色和权限信息
    List<User> selectUsersWithRolesAndMenus(@Param("username") String username,
                                            @Param("email") String email,
                                            @Param("status") Integer status);

    // 分页查询用户
    List<User> selectUsersByPage(@Param("offset") int offset,
                                 @Param("pageSize") int pageSize);

    int countUsers();
}